﻿/*
 ***************************************************************************
 * Microsoft Visual C# .NET
 * 名称：       Shpm.System.Web.Control.CheckDoubleMore
 * 类型：       服务端输入校验类
 * 功能说明：   整数大于下限数值项目校验类
 * 作者：       郭晓庆
 * 创建日期：   2007/07/10
 * 修改日期     修改者      修改内容
 * 
 * 
 * ---
 ***************************************************************************
*/
using System;
using System.Collections.Generic;
using System.Text;

namespace Shpm.System.Web.Control
{
    public class CheckLongMore : ComAbsChecker
    {
         /** 下限数值 */
        private double more = 0;

        /**
         * 构造函数
         * @param value 输入值
         * @param less  上限数值
         */
        public CheckLongMore(String value, double more)
            :base(value)
        {
            this.more = more;
        }

        public CheckLongMore(String value, double more, Shpm.System.Validator.ComAbsMsg msg)
            : base(value, msg)
        {
            this.more = more;
        }

        /**
         * 数值(包含小数)检查处理。
         * @param value 输入值
         * @return true:小于上限 / false:大于上限
         */
        protected override bool doCheck(String value)
        {
            // 未输入检查
            if (base.isEmpty(value))
            {
                return true;
            }

            // 半角检查
            if (Encoding.UTF8.GetBytes(value).Length != value.Length)
            {
                return false;
            }

            try
            {
                // 数值转换
                long lvalue = long.Parse(value);

                if (lvalue < this.more)
                {
                    return false;
                }
                return true;
            }
            catch 
            {
                return false;
            }
        }
    }
}
